<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>axios的基础使用的基础使用</title>
    <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
</head>

<body>
    <h1>axios的基础使用</h1>
    <button id="btn">发送按钮</button>
    <script>
        const oBtn = document.getElementById('btn')
        oBtn.onclick = async function () {
            try {
                /* 
                    axios接受参数配置 配置一般都是写在对象里
                    axios方法返回一个promise实例,如果的被re接受了,如果请求失败则进入catch异常处理中
                */
                const re = await axios({
                    url: '/user',
                    method: 'get',
                    //请求头
                    headers: {},
                    //即将与请求一起发送的url参数
                    //params是添加到url的请求字符串中的，用于get请求
                    params: {
                        userId: '001'
                    },
                    //请求体参数,只适用于post和put
                    data: {},
                    //指定请求超时的毫秒数(0表示无超时时间)如果请求花费了超过timeout的时间,请求将被中断
                    timeout: 18888
                })

                /* 
                axios成功的值这个对象属性解析:
                    -config:是axios请求的时候传入的配置对象
                    -data:后端响应的数据
                    -headers:响应头
                    -request:底层真正使用的xhr实例对象
                    -status:响应状态码
                    -statusText:响应状态描述
                */
                console.log(re);
                console.log(re.data);
            } catch (e) {
                console.log(e.message);
            }
        }
    </script>
</body>

</html>